#ifndef __HUMAN_H__
#define __HUMAN_H__

#include <Ogre.h>
#include "MyMotionState.h"
#include "BulletVehicle.h"
#include "Character.h"

#define HUMANMESH "hunter.mesh" // Mesh del humano
#define QUERY_MASK_HUMAN 1 << 4

class Human : public Character {

 private:
  float _attackCounter; // Contador para volver a ser atacado
  // Genera nombres para sistemas de partículas
  Ogre::NameGenerator* _pBloodNameGenerator;

 public:

  Human(btDiscreteDynamicsWorld* pWorld,
         btCylinderShape* pHumanCollisionShape,
         Ogre::SceneManager* pSceneManager,
         OpenSteer::Vec3 position);
  ~Human();

  void update(const float currentTime, const float elapsedTime);
  void translate(btVector3 translation);
  void lookAt(Ogre::Vector3 targetPoint);
  float attackCounter() { return _attackCounter; }
  bool doDamage(int damage);
};

#endif
